# ---
# title: 7. Reverse Integer
# id: problem7
# author: Tian Jun
# date: 2020-10-31
# difficulty: Easy
# categories: Math
# link: <https://leetcode.com/problems/reverse-integer/description/>
# hidden: true
# ---
# 
# Given a 32-bit signed integer, reverse digits of an integer.
# 
# **Note:**  
# Assume we are dealing with an environment that could only store integers
# within the 32-bit signed integer range: [−231,  231 − 1]. For the purpose of
# this problem, assume that your function returns 0 when the reversed integer
# overflows.
# 
# 
# 
# **Example 1:**
# 
#     
#     
#     Input: x = 123
#     Output: 321
#     
# 
# **Example 2:**
# 
#     
#     
#     Input: x = -123
#     Output: -321
#     
# 
# **Example 3:**
# 
#     
#     
#     Input: x = 120
#     Output: 21
#     
# 
# **Example 4:**
# 
#     
#     
#     Input: x = 0
#     Output: 0
#     
# 
# 
# 
# **Constraints:**
# 
#   * `-231 <= x <= 231 - 1`
# 
# 
## @lc code=start
using LeetCode

function reverse_integer(x::Int32)::Int
    s = sign(x)
    r = parse(Int, reverse(string(s * x)))
    return r <= typemax(Int32) ? s * r : 0
end
## @lc code=end
